package com.dragon.modules.yuegou.query.park;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.dragon.modules.yuegou.entity.park.RecordEntity;
import com.dragon.modules.yuegou.enums.ParkSystem;
import com.dragon.modules.yuegou.enums.park.RecordStatus;
import com.dragon.modules.yuegou.mybatis.Condition;
import com.dragon.modules.yuegou.mybatis.Query;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonInclude.Include;
import com.fasterxml.jackson.annotation.JsonUnwrapped;

import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
 * 停车记录表 动态查询条件
 * 
 * @author px
 * @date 2019-04-19 10:16:19
 * @version 2.0
 */
@JsonInclude(Include.NON_NULL)
public class RecordQuery extends RecordEntity implements Query<RecordEntity> {

    /** 查询条件 */
	@JsonUnwrapped(prefix = "id")
	private Condition<String> idCondition;

    /** 商圈ID查询条件 */
	@JsonUnwrapped(prefix = "busdId")
	private Condition<String> busdIdCondition;

    /** 第三方ID查询条件 */
	@JsonUnwrapped(prefix = "thirdId")
	private Condition<String> thirdIdCondition;

    /** [全局枚举]停车系统：0-无忧停车-DAHANWUYOU、1-ETCP-ETCP、2-一点通停车系统-YDT、3-一路停停车系统-TLT、4-科拓停车系统-KT查询条件 */
	@JsonUnwrapped(prefix = "parkSystem")
	private Condition<ParkSystem> parkSystemCondition;

    /** 查询条件 */
	@JsonUnwrapped(prefix = "plateNumber")
	private Condition<String> plateNumberCondition;

    /** 入场时间查询条件 */
	@JsonUnwrapped(prefix = "entranceTime")
	private Condition<LocalDateTime> entranceTimeCondition;

    /** 总停车费查询条件 */
	@JsonUnwrapped(prefix = "parkingFee")
	private Condition<BigDecimal> parkingFeeCondition;

    /** 已缴停车费查询条件 */
	@JsonUnwrapped(prefix = "paidFee")
	private Condition<BigDecimal> paidFeeCondition;

    /** 已缴服务费查询条件 */
	@JsonUnwrapped(prefix = "paidServiceFee")
	private Condition<BigDecimal> paidServiceFeeCondition;

    /** 剩余代缴总费查询条件 */
	@JsonUnwrapped(prefix = "remainingFee")
	private Condition<BigDecimal> remainingFeeCondition;

    /** 剩余代缴停车费查询条件 */
	@JsonUnwrapped(prefix = "remainingParkFee")
	private Condition<BigDecimal> remainingParkFeeCondition;

    /** 剩余代缴服务费查询条件 */
	@JsonUnwrapped(prefix = "remainingServiceFee")
	private Condition<BigDecimal> remainingServiceFeeCondition;

    /** 停车场ID查询条件 */
	@JsonUnwrapped(prefix = "parkingId")
	private Condition<String> parkingIdCondition;

    /** 优免金额查询条件 */
	@JsonUnwrapped(prefix = "discountAmount")
	private Condition<BigDecimal> discountAmountCondition;

    /** 停车费支付接口验证信息查询条件 */
	@JsonUnwrapped(prefix = "verificationInfo")
	private Condition<String> verificationInfoCondition;

    /** 订单号查询条件 */
	@JsonUnwrapped(prefix = "orderNo")
	private Condition<String> orderNoCondition;

    /** [枚举]订单状态：0-未入场-NOTIN、1-已入场-IN、2-已出场-OUT查询条件 */
	@JsonUnwrapped(prefix = "status")
	private Condition<RecordStatus> statusCondition;

    /** 停车券ID查询条件 */
	@JsonUnwrapped(prefix = "couponId")
	private Condition<String> couponIdCondition;

    /** 停车券抵扣金额查询条件 */
	@JsonUnwrapped(prefix = "couponDiscountFee")
	private Condition<BigDecimal> couponDiscountFeeCondition;

    /** 支付费用查询条件 */
	@JsonUnwrapped(prefix = "payFee")
	private Condition<BigDecimal> payFeeCondition;

    /** 支付状态：0-未支付；1-已支付查询条件 */
	@JsonUnwrapped(prefix = "payStatus")
	private Condition<Boolean> payStatusCondition;

    /** 支付时间查询条件 */
	@JsonUnwrapped(prefix = "payTime")
	private Condition<LocalDateTime> payTimeCondition;

    /** 查询条件 */
	@JsonUnwrapped(prefix = "failureTime")
	private Condition<LocalDateTime> failureTimeCondition;

    /** 创建时间查询条件 */
	@JsonUnwrapped(prefix = "createdTime")
	private Condition<LocalDateTime> createdTimeCondition;

    /** 修改时间查询条件 */
	@JsonUnwrapped(prefix = "modifiedTime")
	private Condition<LocalDateTime> modifiedTimeCondition;

    /** 积分抵扣金额查询条件 */
	@JsonUnwrapped(prefix = "integralFee")
	private Condition<BigDecimal> integralFeeCondition;

    /** 抵扣积分查询条件 */
	@JsonUnwrapped(prefix = "integral")
	private Condition<Integer> integralCondition;

	/**
	 * 构造一个查询条件对象
	 */
	public RecordQuery() {
		super();
	}

	/**
	 * 依据实体对象构造一个查询条件对象
	 * 
	 * @param entity 实体对象
	 */
	public RecordQuery(RecordEntity entity) {
		super(entity);
	}

	/**
	 * 依据其它查询条件对象的信息构造一个查询条件对象
	 * 
	 * @param other 查询条件对象
	 */
	public RecordQuery(RecordQuery other) {
		super(other);
		if (other.idCondition != null) {
			this.idCondition = other.idCondition.copy();
		}
		if (other.busdIdCondition != null) {
			this.busdIdCondition = other.busdIdCondition.copy();
		}
		if (other.thirdIdCondition != null) {
			this.thirdIdCondition = other.thirdIdCondition.copy();
		}
		if (other.parkSystemCondition != null) {
			this.parkSystemCondition = other.parkSystemCondition.copy();
		}
		if (other.plateNumberCondition != null) {
			this.plateNumberCondition = other.plateNumberCondition.copy();
		}
		if (other.entranceTimeCondition != null) {
			this.entranceTimeCondition = other.entranceTimeCondition.copy();
		}
		if (other.parkingFeeCondition != null) {
			this.parkingFeeCondition = other.parkingFeeCondition.copy();
		}
		if (other.paidFeeCondition != null) {
			this.paidFeeCondition = other.paidFeeCondition.copy();
		}
		if (other.paidServiceFeeCondition != null) {
			this.paidServiceFeeCondition = other.paidServiceFeeCondition.copy();
		}
		if (other.remainingFeeCondition != null) {
			this.remainingFeeCondition = other.remainingFeeCondition.copy();
		}
		if (other.remainingParkFeeCondition != null) {
			this.remainingParkFeeCondition = other.remainingParkFeeCondition.copy();
		}
		if (other.remainingServiceFeeCondition != null) {
			this.remainingServiceFeeCondition = other.remainingServiceFeeCondition.copy();
		}
		if (other.parkingIdCondition != null) {
			this.parkingIdCondition = other.parkingIdCondition.copy();
		}
		if (other.discountAmountCondition != null) {
			this.discountAmountCondition = other.discountAmountCondition.copy();
		}
		this.setOther(other);
	}

	private void setOther(RecordQuery other){
		if(other.verificationInfoCondition != null) {
			this.verificationInfoCondition = other.verificationInfoCondition.copy();
		}
		if(other.orderNoCondition != null) {
			this.orderNoCondition = other.orderNoCondition.copy();
		}
		if(other.statusCondition != null) {
			this.statusCondition = other.statusCondition.copy();
		}
		if(other.couponIdCondition != null) {
			this.couponIdCondition = other.couponIdCondition.copy();
		}
		if(other.couponDiscountFeeCondition != null) {
			this.couponDiscountFeeCondition = other.couponDiscountFeeCondition.copy();
		}
		if(other.payFeeCondition != null) {
			this.payFeeCondition = other.payFeeCondition.copy();
		}
		if(other.payStatusCondition != null) {
			this.payStatusCondition = other.payStatusCondition.copy();
		}
		if(other.payTimeCondition != null) {
			this.payTimeCondition = other.payTimeCondition.copy();
		}
		if(other.failureTimeCondition != null) {
			this.failureTimeCondition = other.failureTimeCondition.copy();
		}
		if(other.createdTimeCondition != null) {
			this.createdTimeCondition = other.createdTimeCondition.copy();
		}
		if(other.modifiedTimeCondition != null) {
			this.modifiedTimeCondition = other.modifiedTimeCondition.copy();
		}
		if(other.integralFeeCondition != null) {
			this.integralFeeCondition = other.integralFeeCondition.copy();
		}
		if(other.integralCondition != null) {
			this.integralCondition = other.integralCondition.copy();
		}
	}

	@Override
	public QueryWrapper<RecordEntity> toQueryWrapper() {
		QueryWrapper<RecordEntity> wrapper = new QueryWrapper<>(this);
		if (idCondition != null) {
			idCondition.toWrapper(wrapper, COL_ID);
		}
		if (busdIdCondition != null) {
			busdIdCondition.toWrapper(wrapper, COL_BUSD_ID);
		}
		if (thirdIdCondition != null) {
			thirdIdCondition.toWrapper(wrapper, COL_THIRD_ID);
		}
		if (parkSystemCondition != null) {
			parkSystemCondition.toWrapper(wrapper, COL_PARK_SYSTEM);
		}
		if (plateNumberCondition != null) {
			plateNumberCondition.toWrapper(wrapper, COL_PLATE_NUMBER);
		}
		if (entranceTimeCondition != null) {
			entranceTimeCondition.toWrapper(wrapper, COL_ENTRANCE_TIME);
		}
		if (parkingFeeCondition != null) {
			parkingFeeCondition.toWrapper(wrapper, COL_PARKING_FEE);
		}
		if (paidFeeCondition != null) {
			paidFeeCondition.toWrapper(wrapper, COL_PAID_FEE);
		}
		if (paidServiceFeeCondition != null) {
			paidServiceFeeCondition.toWrapper(wrapper, COL_PAID_SERVICE_FEE);
		}
		if (remainingFeeCondition != null) {
			remainingFeeCondition.toWrapper(wrapper, COL_REMAINING_FEE);
		}
		if (remainingParkFeeCondition != null) {
			remainingParkFeeCondition.toWrapper(wrapper, COL_REMAINING_PARK_FEE);
		}
		if (remainingServiceFeeCondition != null) {
			remainingServiceFeeCondition.toWrapper(wrapper, COL_REMAINING_SERVICE_FEE);
		}
		if (parkingIdCondition != null) {
			parkingIdCondition.toWrapper(wrapper, COL_PARKING_ID);
		}
		if (discountAmountCondition != null) {
			discountAmountCondition.toWrapper(wrapper, COL_DISCOUNT_AMOUNT);
		}
		return getQueryWrapper(wrapper);
	}

	private QueryWrapper<RecordEntity> getQueryWrapper(QueryWrapper<RecordEntity> wrapper){
		if (verificationInfoCondition != null) {
			verificationInfoCondition.toWrapper(wrapper, COL_VERIFICATION_INFO);
		}
		if (orderNoCondition != null) {
			orderNoCondition.toWrapper(wrapper, COL_ORDER_NO);
		}
		if (statusCondition != null) {
			statusCondition.toWrapper(wrapper, COL_STATUS);
		}
		if (couponIdCondition != null) {
			couponIdCondition.toWrapper(wrapper, COL_COUPON_ID);
		}
		if (couponDiscountFeeCondition != null) {
			couponDiscountFeeCondition.toWrapper(wrapper, COL_COUPON_DISCOUNT_FEE);
		}
		if (payFeeCondition != null) {
			payFeeCondition.toWrapper(wrapper, COL_PAY_FEE);
		}
		if (payStatusCondition != null) {
			payStatusCondition.toWrapper(wrapper, COL_PAY_STATUS);
		}
		if (payTimeCondition != null) {
			payTimeCondition.toWrapper(wrapper, COL_PAY_TIME);
		}
		if (failureTimeCondition != null) {
			failureTimeCondition.toWrapper(wrapper, COL_FAILURE_TIME);
		}
		if (createdTimeCondition != null) {
			createdTimeCondition.toWrapper(wrapper, COL_CREATED_TIME);
		}
		if (modifiedTimeCondition != null) {
			modifiedTimeCondition.toWrapper(wrapper, COL_MODIFIED_TIME);
		}
		if (integralFeeCondition != null) {
			integralFeeCondition.toWrapper(wrapper, COL_INTEGRAL_FEE);
		}
		if (integralCondition != null) {
			integralCondition.toWrapper(wrapper, COL_INTEGRAL);
		}
		return wrapper;
	}

	/**
	 * 构造并返回查询条件
	 * 
	 * @return idCondition 查询条件
	 */
	public Condition<String> id() {
		this.idCondition = new Condition<>();
		return this.idCondition;
	}
	
	/**
	 * 获取查询条件
	 * 
	 * @return idCondition 查询条件
	 */
	public Condition<String> getIdCondition() {
		return idCondition;
	}

	/**
	 * 设置查询条件
	 * 
	 * @param idCondition 查询条件
	 */
	public void setIdCondition(Condition<String> idCondition) {
		this.idCondition = idCondition;
	}

	/**
	 * 构造并返回商圈ID查询条件
	 * 
	 * @return busdIdCondition 商圈ID查询条件
	 */
	public Condition<String> busdId() {
		this.busdIdCondition = new Condition<>();
		return this.busdIdCondition;
	}
	
	/**
	 * 获取商圈ID查询条件
	 * 
	 * @return busdIdCondition 商圈ID查询条件
	 */
	public Condition<String> getBusdIdCondition() {
		return busdIdCondition;
	}

	/**
	 * 设置商圈ID查询条件
	 * 
	 * @param busdIdCondition 商圈ID查询条件
	 */
	public void setBusdIdCondition(Condition<String> busdIdCondition) {
		this.busdIdCondition = busdIdCondition;
	}

	/**
	 * 构造并返回第三方ID查询条件
	 * 
	 * @return thirdIdCondition 第三方ID查询条件
	 */
	public Condition<String> thirdId() {
		this.thirdIdCondition = new Condition<>();
		return this.thirdIdCondition;
	}
	
	/**
	 * 获取第三方ID查询条件
	 * 
	 * @return thirdIdCondition 第三方ID查询条件
	 */
	public Condition<String> getThirdIdCondition() {
		return thirdIdCondition;
	}

	/**
	 * 设置第三方ID查询条件
	 * 
	 * @param thirdIdCondition 第三方ID查询条件
	 */
	public void setThirdIdCondition(Condition<String> thirdIdCondition) {
		this.thirdIdCondition = thirdIdCondition;
	}

	/**
	 * 构造并返回[全局枚举]停车系统：0-无忧停车-DAHANWUYOU、1-ETCP-ETCP、2-一点通停车系统-YDT、3-一路停停车系统-TLT、4-科拓停车系统-KT查询条件
	 * 
	 * @return parkSystemCondition [全局枚举]停车系统：0-无忧停车-DAHANWUYOU、1-ETCP-ETCP、2-一点通停车系统-YDT、3-一路停停车系统-TLT、4-科拓停车系统-KT查询条件
	 */
	public Condition<ParkSystem> parkSystem() {
		this.parkSystemCondition = new Condition<>();
		return this.parkSystemCondition;
	}
	
	/**
	 * 获取[全局枚举]停车系统：0-无忧停车-DAHANWUYOU、1-ETCP-ETCP、2-一点通停车系统-YDT、3-一路停停车系统-TLT、4-科拓停车系统-KT查询条件
	 * 
	 * @return parkSystemCondition [全局枚举]停车系统：0-无忧停车-DAHANWUYOU、1-ETCP-ETCP、2-一点通停车系统-YDT、3-一路停停车系统-TLT、4-科拓停车系统-KT查询条件
	 */
	public Condition<ParkSystem> getParkSystemCondition() {
		return parkSystemCondition;
	}

	/**
	 * 设置[全局枚举]停车系统：0-无忧停车-DAHANWUYOU、1-ETCP-ETCP、2-一点通停车系统-YDT、3-一路停停车系统-TLT、4-科拓停车系统-KT查询条件
	 * 
	 * @param parkSystemCondition [全局枚举]停车系统：0-无忧停车-DAHANWUYOU、1-ETCP-ETCP、2-一点通停车系统-YDT、3-一路停停车系统-TLT、4-科拓停车系统-KT查询条件
	 */
	public void setParkSystemCondition(Condition<ParkSystem> parkSystemCondition) {
		this.parkSystemCondition = parkSystemCondition;
	}

	/**
	 * 构造并返回查询条件
	 * 
	 * @return plateNumberCondition 查询条件
	 */
	public Condition<String> plateNumber() {
		this.plateNumberCondition = new Condition<>();
		return this.plateNumberCondition;
	}
	
	/**
	 * 获取查询条件
	 * 
	 * @return plateNumberCondition 查询条件
	 */
	public Condition<String> getPlateNumberCondition() {
		return plateNumberCondition;
	}

	/**
	 * 设置查询条件
	 * 
	 * @param plateNumberCondition 查询条件
	 */
	public void setPlateNumberCondition(Condition<String> plateNumberCondition) {
		this.plateNumberCondition = plateNumberCondition;
	}

	/**
	 * 构造并返回入场时间查询条件
	 * 
	 * @return entranceTimeCondition 入场时间查询条件
	 */
	public Condition<LocalDateTime> entranceTime() {
		this.entranceTimeCondition = new Condition<>();
		return this.entranceTimeCondition;
	}
	
	/**
	 * 获取入场时间查询条件
	 * 
	 * @return entranceTimeCondition 入场时间查询条件
	 */
	public Condition<LocalDateTime> getEntranceTimeCondition() {
		return entranceTimeCondition;
	}

	/**
	 * 设置入场时间查询条件
	 * 
	 * @param entranceTimeCondition 入场时间查询条件
	 */
	public void setEntranceTimeCondition(Condition<LocalDateTime> entranceTimeCondition) {
		this.entranceTimeCondition = entranceTimeCondition;
	}

	/**
	 * 构造并返回总停车费查询条件
	 * 
	 * @return parkingFeeCondition 总停车费查询条件
	 */
	public Condition<BigDecimal> parkingFee() {
		this.parkingFeeCondition = new Condition<>();
		return this.parkingFeeCondition;
	}
	
	/**
	 * 获取总停车费查询条件
	 * 
	 * @return parkingFeeCondition 总停车费查询条件
	 */
	public Condition<BigDecimal> getParkingFeeCondition() {
		return parkingFeeCondition;
	}

	/**
	 * 设置总停车费查询条件
	 * 
	 * @param parkingFeeCondition 总停车费查询条件
	 */
	public void setParkingFeeCondition(Condition<BigDecimal> parkingFeeCondition) {
		this.parkingFeeCondition = parkingFeeCondition;
	}

	/**
	 * 构造并返回已缴停车费查询条件
	 * 
	 * @return paidFeeCondition 已缴停车费查询条件
	 */
	public Condition<BigDecimal> paidFee() {
		this.paidFeeCondition = new Condition<>();
		return this.paidFeeCondition;
	}
	
	/**
	 * 获取已缴停车费查询条件
	 * 
	 * @return paidFeeCondition 已缴停车费查询条件
	 */
	public Condition<BigDecimal> getPaidFeeCondition() {
		return paidFeeCondition;
	}

	/**
	 * 设置已缴停车费查询条件
	 * 
	 * @param paidFeeCondition 已缴停车费查询条件
	 */
	public void setPaidFeeCondition(Condition<BigDecimal> paidFeeCondition) {
		this.paidFeeCondition = paidFeeCondition;
	}

	/**
	 * 构造并返回已缴服务费查询条件
	 * 
	 * @return paidServiceFeeCondition 已缴服务费查询条件
	 */
	public Condition<BigDecimal> paidServiceFee() {
		this.paidServiceFeeCondition = new Condition<>();
		return this.paidServiceFeeCondition;
	}
	
	/**
	 * 获取已缴服务费查询条件
	 * 
	 * @return paidServiceFeeCondition 已缴服务费查询条件
	 */
	public Condition<BigDecimal> getPaidServiceFeeCondition() {
		return paidServiceFeeCondition;
	}

	/**
	 * 设置已缴服务费查询条件
	 * 
	 * @param paidServiceFeeCondition 已缴服务费查询条件
	 */
	public void setPaidServiceFeeCondition(Condition<BigDecimal> paidServiceFeeCondition) {
		this.paidServiceFeeCondition = paidServiceFeeCondition;
	}

	/**
	 * 构造并返回剩余代缴总费查询条件
	 * 
	 * @return remainingFeeCondition 剩余代缴总费查询条件
	 */
	public Condition<BigDecimal> remainingFee() {
		this.remainingFeeCondition = new Condition<>();
		return this.remainingFeeCondition;
	}
	
	/**
	 * 获取剩余代缴总费查询条件
	 * 
	 * @return remainingFeeCondition 剩余代缴总费查询条件
	 */
	public Condition<BigDecimal> getRemainingFeeCondition() {
		return remainingFeeCondition;
	}

	/**
	 * 设置剩余代缴总费查询条件
	 * 
	 * @param remainingFeeCondition 剩余代缴总费查询条件
	 */
	public void setRemainingFeeCondition(Condition<BigDecimal> remainingFeeCondition) {
		this.remainingFeeCondition = remainingFeeCondition;
	}

	/**
	 * 构造并返回剩余代缴停车费查询条件
	 * 
	 * @return remainingParkFeeCondition 剩余代缴停车费查询条件
	 */
	public Condition<BigDecimal> remainingParkFee() {
		this.remainingParkFeeCondition = new Condition<>();
		return this.remainingParkFeeCondition;
	}
	
	/**
	 * 获取剩余代缴停车费查询条件
	 * 
	 * @return remainingParkFeeCondition 剩余代缴停车费查询条件
	 */
	public Condition<BigDecimal> getRemainingParkFeeCondition() {
		return remainingParkFeeCondition;
	}

	/**
	 * 设置剩余代缴停车费查询条件
	 * 
	 * @param remainingParkFeeCondition 剩余代缴停车费查询条件
	 */
	public void setRemainingParkFeeCondition(Condition<BigDecimal> remainingParkFeeCondition) {
		this.remainingParkFeeCondition = remainingParkFeeCondition;
	}

	/**
	 * 构造并返回剩余代缴服务费查询条件
	 * 
	 * @return remainingServiceFeeCondition 剩余代缴服务费查询条件
	 */
	public Condition<BigDecimal> remainingServiceFee() {
		this.remainingServiceFeeCondition = new Condition<>();
		return this.remainingServiceFeeCondition;
	}
	
	/**
	 * 获取剩余代缴服务费查询条件
	 * 
	 * @return remainingServiceFeeCondition 剩余代缴服务费查询条件
	 */
	public Condition<BigDecimal> getRemainingServiceFeeCondition() {
		return remainingServiceFeeCondition;
	}

	/**
	 * 设置剩余代缴服务费查询条件
	 * 
	 * @param remainingServiceFeeCondition 剩余代缴服务费查询条件
	 */
	public void setRemainingServiceFeeCondition(Condition<BigDecimal> remainingServiceFeeCondition) {
		this.remainingServiceFeeCondition = remainingServiceFeeCondition;
	}

	/**
	 * 构造并返回停车场ID查询条件
	 * 
	 * @return parkingIdCondition 停车场ID查询条件
	 */
	public Condition<String> parkingId() {
		this.parkingIdCondition = new Condition<>();
		return this.parkingIdCondition;
	}
	
	/**
	 * 获取停车场ID查询条件
	 * 
	 * @return parkingIdCondition 停车场ID查询条件
	 */
	public Condition<String> getParkingIdCondition() {
		return parkingIdCondition;
	}

	/**
	 * 设置停车场ID查询条件
	 * 
	 * @param parkingIdCondition 停车场ID查询条件
	 */
	public void setParkingIdCondition(Condition<String> parkingIdCondition) {
		this.parkingIdCondition = parkingIdCondition;
	}

	/**
	 * 构造并返回优免金额查询条件
	 * 
	 * @return discountAmountCondition 优免金额查询条件
	 */
	public Condition<BigDecimal> discountAmount() {
		this.discountAmountCondition = new Condition<>();
		return this.discountAmountCondition;
	}
	
	/**
	 * 获取优免金额查询条件
	 * 
	 * @return discountAmountCondition 优免金额查询条件
	 */
	public Condition<BigDecimal> getDiscountAmountCondition() {
		return discountAmountCondition;
	}

	/**
	 * 设置优免金额查询条件
	 * 
	 * @param discountAmountCondition 优免金额查询条件
	 */
	public void setDiscountAmountCondition(Condition<BigDecimal> discountAmountCondition) {
		this.discountAmountCondition = discountAmountCondition;
	}

	/**
	 * 构造并返回停车费支付接口验证信息查询条件
	 * 
	 * @return verificationInfoCondition 停车费支付接口验证信息查询条件
	 */
	public Condition<String> verificationInfo() {
		this.verificationInfoCondition = new Condition<>();
		return this.verificationInfoCondition;
	}
	
	/**
	 * 获取停车费支付接口验证信息查询条件
	 * 
	 * @return verificationInfoCondition 停车费支付接口验证信息查询条件
	 */
	public Condition<String> getVerificationInfoCondition() {
		return verificationInfoCondition;
	}

	/**
	 * 设置停车费支付接口验证信息查询条件
	 * 
	 * @param verificationInfoCondition 停车费支付接口验证信息查询条件
	 */
	public void setVerificationInfoCondition(Condition<String> verificationInfoCondition) {
		this.verificationInfoCondition = verificationInfoCondition;
	}

	/**
	 * 构造并返回订单号查询条件
	 * 
	 * @return orderNoCondition 订单号查询条件
	 */
	public Condition<String> orderNo() {
		this.orderNoCondition = new Condition<>();
		return this.orderNoCondition;
	}
	
	/**
	 * 获取订单号查询条件
	 * 
	 * @return orderNoCondition 订单号查询条件
	 */
	public Condition<String> getOrderNoCondition() {
		return orderNoCondition;
	}

	/**
	 * 设置订单号查询条件
	 * 
	 * @param orderNoCondition 订单号查询条件
	 */
	public void setOrderNoCondition(Condition<String> orderNoCondition) {
		this.orderNoCondition = orderNoCondition;
	}

	/**
	 * 构造并返回[枚举]订单状态：0-未入场-NOTIN、1-已入场-IN、2-已出场-OUT查询条件
	 * 
	 * @return statusCondition [枚举]订单状态：0-未入场-NOTIN、1-已入场-IN、2-已出场-OUT查询条件
	 */
	public Condition<RecordStatus> status() {
		this.statusCondition = new Condition<>();
		return this.statusCondition;
	}
	
	/**
	 * 获取[枚举]订单状态：0-未入场-NOTIN、1-已入场-IN、2-已出场-OUT查询条件
	 * 
	 * @return statusCondition [枚举]订单状态：0-未入场-NOTIN、1-已入场-IN、2-已出场-OUT查询条件
	 */
	public Condition<RecordStatus> getStatusCondition() {
		return statusCondition;
	}

	/**
	 * 设置[枚举]订单状态：0-未入场-NOTIN、1-已入场-IN、2-已出场-OUT查询条件
	 * 
	 * @param statusCondition [枚举]订单状态：0-未入场-NOTIN、1-已入场-IN、2-已出场-OUT查询条件
	 */
	public void setStatusCondition(Condition<RecordStatus> statusCondition) {
		this.statusCondition = statusCondition;
	}

	/**
	 * 构造并返回停车券ID查询条件
	 * 
	 * @return couponIdCondition 停车券ID查询条件
	 */
	public Condition<String> couponId() {
		this.couponIdCondition = new Condition<>();
		return this.couponIdCondition;
	}
	
	/**
	 * 获取停车券ID查询条件
	 * 
	 * @return couponIdCondition 停车券ID查询条件
	 */
	public Condition<String> getCouponIdCondition() {
		return couponIdCondition;
	}

	/**
	 * 设置停车券ID查询条件
	 * 
	 * @param couponIdCondition 停车券ID查询条件
	 */
	public void setCouponIdCondition(Condition<String> couponIdCondition) {
		this.couponIdCondition = couponIdCondition;
	}

	/**
	 * 构造并返回停车券抵扣金额查询条件
	 * 
	 * @return couponDiscountFeeCondition 停车券抵扣金额查询条件
	 */
	public Condition<BigDecimal> couponDiscountFee() {
		this.couponDiscountFeeCondition = new Condition<>();
		return this.couponDiscountFeeCondition;
	}
	
	/**
	 * 获取停车券抵扣金额查询条件
	 * 
	 * @return couponDiscountFeeCondition 停车券抵扣金额查询条件
	 */
	public Condition<BigDecimal> getCouponDiscountFeeCondition() {
		return couponDiscountFeeCondition;
	}

	/**
	 * 设置停车券抵扣金额查询条件
	 * 
	 * @param couponDiscountFeeCondition 停车券抵扣金额查询条件
	 */
	public void setCouponDiscountFeeCondition(Condition<BigDecimal> couponDiscountFeeCondition) {
		this.couponDiscountFeeCondition = couponDiscountFeeCondition;
	}

	/**
	 * 构造并返回支付费用查询条件
	 * 
	 * @return payFeeCondition 支付费用查询条件
	 */
	public Condition<BigDecimal> payFee() {
		this.payFeeCondition = new Condition<>();
		return this.payFeeCondition;
	}
	
	/**
	 * 获取支付费用查询条件
	 * 
	 * @return payFeeCondition 支付费用查询条件
	 */
	public Condition<BigDecimal> getPayFeeCondition() {
		return payFeeCondition;
	}

	/**
	 * 设置支付费用查询条件
	 * 
	 * @param payFeeCondition 支付费用查询条件
	 */
	public void setPayFeeCondition(Condition<BigDecimal> payFeeCondition) {
		this.payFeeCondition = payFeeCondition;
	}

	/**
	 * 构造并返回支付状态：0-未支付；1-已支付查询条件
	 * 
	 * @return payStatusCondition 支付状态：0-未支付；1-已支付查询条件
	 */
	public Condition<Boolean> payStatus() {
		this.payStatusCondition = new Condition<>();
		return this.payStatusCondition;
	}
	
	/**
	 * 获取支付状态：0-未支付；1-已支付查询条件
	 * 
	 * @return payStatusCondition 支付状态：0-未支付；1-已支付查询条件
	 */
	public Condition<Boolean> getPayStatusCondition() {
		return payStatusCondition;
	}

	/**
	 * 设置支付状态：0-未支付；1-已支付查询条件
	 * 
	 * @param payStatusCondition 支付状态：0-未支付；1-已支付查询条件
	 */
	public void setPayStatusCondition(Condition<Boolean> payStatusCondition) {
		this.payStatusCondition = payStatusCondition;
	}

	/**
	 * 构造并返回支付时间查询条件
	 * 
	 * @return payTimeCondition 支付时间查询条件
	 */
	public Condition<LocalDateTime> payTime() {
		this.payTimeCondition = new Condition<>();
		return this.payTimeCondition;
	}
	
	/**
	 * 获取支付时间查询条件
	 * 
	 * @return payTimeCondition 支付时间查询条件
	 */
	public Condition<LocalDateTime> getPayTimeCondition() {
		return payTimeCondition;
	}

	/**
	 * 设置支付时间查询条件
	 * 
	 * @param payTimeCondition 支付时间查询条件
	 */
	public void setPayTimeCondition(Condition<LocalDateTime> payTimeCondition) {
		this.payTimeCondition = payTimeCondition;
	}

	/**
	 * 构造并返回查询条件
	 * 
	 * @return failureTimeCondition 查询条件
	 */
	public Condition<LocalDateTime> failureTime() {
		this.failureTimeCondition = new Condition<>();
		return this.failureTimeCondition;
	}
	
	/**
	 * 获取查询条件
	 * 
	 * @return failureTimeCondition 查询条件
	 */
	public Condition<LocalDateTime> getFailureTimeCondition() {
		return failureTimeCondition;
	}

	/**
	 * 设置查询条件
	 * 
	 * @param failureTimeCondition 查询条件
	 */
	public void setFailureTimeCondition(Condition<LocalDateTime> failureTimeCondition) {
		this.failureTimeCondition = failureTimeCondition;
	}

	/**
	 * 构造并返回创建时间查询条件
	 * 
	 * @return createdTimeCondition 创建时间查询条件
	 */
	public Condition<LocalDateTime> createdTime() {
		this.createdTimeCondition = new Condition<>();
		return this.createdTimeCondition;
	}
	
	/**
	 * 获取创建时间查询条件
	 * 
	 * @return createdTimeCondition 创建时间查询条件
	 */
	public Condition<LocalDateTime> getCreatedTimeCondition() {
		return createdTimeCondition;
	}

	/**
	 * 设置创建时间查询条件
	 * 
	 * @param createdTimeCondition 创建时间查询条件
	 */
	public void setCreatedTimeCondition(Condition<LocalDateTime> createdTimeCondition) {
		this.createdTimeCondition = createdTimeCondition;
	}

	/**
	 * 构造并返回修改时间查询条件
	 * 
	 * @return modifiedTimeCondition 修改时间查询条件
	 */
	public Condition<LocalDateTime> modifiedTime() {
		this.modifiedTimeCondition = new Condition<>();
		return this.modifiedTimeCondition;
	}
	
	/**
	 * 获取修改时间查询条件
	 * 
	 * @return modifiedTimeCondition 修改时间查询条件
	 */
	public Condition<LocalDateTime> getModifiedTimeCondition() {
		return modifiedTimeCondition;
	}

	/**
	 * 设置修改时间查询条件
	 * 
	 * @param modifiedTimeCondition 修改时间查询条件
	 */
	public void setModifiedTimeCondition(Condition<LocalDateTime> modifiedTimeCondition) {
		this.modifiedTimeCondition = modifiedTimeCondition;
	}

	/**
	 * 构造并返回积分抵扣金额查询条件
	 * 
	 * @return integralFeeCondition 积分抵扣金额查询条件
	 */
	public Condition<BigDecimal> integralFee() {
		this.integralFeeCondition = new Condition<>();
		return this.integralFeeCondition;
	}
	
	/**
	 * 获取积分抵扣金额查询条件
	 * 
	 * @return integralFeeCondition 积分抵扣金额查询条件
	 */
	public Condition<BigDecimal> getIntegralFeeCondition() {
		return integralFeeCondition;
	}

	/**
	 * 设置积分抵扣金额查询条件
	 * 
	 * @param integralFeeCondition 积分抵扣金额查询条件
	 */
	public void setIntegralFeeCondition(Condition<BigDecimal> integralFeeCondition) {
		this.integralFeeCondition = integralFeeCondition;
	}

	/**
	 * 构造并返回抵扣积分查询条件
	 * 
	 * @return integralCondition 抵扣积分查询条件
	 */
	public Condition<Integer> integral() {
		this.integralCondition = new Condition<>();
		return this.integralCondition;
	}
	
	/**
	 * 获取抵扣积分查询条件
	 * 
	 * @return integralCondition 抵扣积分查询条件
	 */
	public Condition<Integer> getIntegralCondition() {
		return integralCondition;
	}

	/**
	 * 设置抵扣积分查询条件
	 * 
	 * @param integralCondition 抵扣积分查询条件
	 */
	public void setIntegralCondition(Condition<Integer> integralCondition) {
		this.integralCondition = integralCondition;
	}

}
